39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
73#define NBIOT6_CMD_AT "AT"
74#define NBIOT6_CMD_GET_MODEL_ID "AT+CGMM"
75#define NBIOT6_CMD_GET_MANUFACTURER_REVISION "AT+CGMR"
76#define NBIOT6_CMD_GET_SERIAL_NUM "AT+CGSN"
77#define NBIOT6_CMD_SET_UE_FUNCTIONALITY "AT+CFUN"
78#define NBIOT6_CMD_NETWORK_REGISTRATION "AT+CEREG"
79#define NBIOT6_CMD_SIGNAL_QUALITY_REPORT "AT+CSQ"
80#define NBIOT6_CMD_OPERATOR_SELECTION "AT+COPS"
81#define NBIOT6_CMD_SEND_SMS "AT+CMGS"
82#define NBIOT6_CMD_SELECT_SMS_FORMAT "AT+CMGF"
83#define NBIOT6_CMD_DEFINE_PDP_CONTEXT "AT+CGDCONT"
84#define NBIOT6_CMD_ACTIVATE_PDP_CONTEXT "AT+CGACT"
85#define NBIOT6_CMD_SHOW_PDP_ADDRESS "AT+CGPADDR"
86#define NBIOT6_CMD_OPEN_SOCKET "AT+QIOPEN"
87#define NBIOT6_CMD_CLOSE_SOCKET "AT+QICLOSE"
88#define NBIOT6_CMD_SEND_TCP_IP_TEXT_DATA "AT+QISEND"
89#define NBIOT6_CMD_RECEIVE_TCP_IP_DATA "AT+QIRD"
90#define NBIOT6_CMD_CONFIG_NETLIGHT_LED "AT+QLEDMODE"
96#define NBIOT6_RSP_OK "OK"
97#define NBIOT6_RSP_ERROR "ERROR"
98#define NBIOT6_RSP_CLOSE_OK "CLOSE OK"
104#define NBIOT6_MAX_RSP_TIME_DEFAULT 300ul
105#define NBIOT6_MAX_RSP_TIME_COPS 630000ul
106#define NBIOT6_MAX_RSP_TIME_CGACT 150000ul
107#define NBIOT6_MAX_RSP_TIME_CFUN 90000ul
108#define NBIOT6_MAX_RSP_TIME_CMGS 30000ul
109#define NBIOT6_MAX_RSP_TIME_QICLOSE 15000ul
110#define NBIOT6_MAX_RSP_TIME_URC 15000ul
116#define NBIOT6_URC_OPEN_SOCKET "+QIOPEN: "
117#define NBIOT6_URC_RECEIVED_DATA "+QIURC: \"recv\""
118#define NBIOT6_URC_NETWORK_REGISTERED "+CEREG: 2,1"
119#define NBIOT6_URC_SMS_FORMAT_PDU "+CMGF: 0"
120#define NBIOT6_URC_SMS_FORMAT_TXT "+CMGF: 1"
126#define NBIOT6_POWER_STATE_OFF 0
127#define NBIOT6_POWER_STATE_ON 1
128#define NBIOT6_POWER_STATE_RESET 2
129#define NBIOT6_POWER_STATE_WAKEUP 3
136#define NBIOT6_TX_DRV_BUFFER_SIZE 256
137#define NBIOT6_RX_DRV_BUFFER_SIZE 256
155#define NBIOT6_MAP_MIKROBUS( cfg, mikrobus ) \
156 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
157 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
158 cfg.wup = MIKROBUS( mikrobus, MIKROBUS_AN ); \
159 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
160 cfg.pwr = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
161 cfg.ring = MIKROBUS( mikrobus, MIKROBUS_INT );
#define NBIOT6_RX_DRV_BUFFER_SIZE
Definition nbiot6.h:137
#define NBIOT6_TX_DRV_BUFFER_SIZE
NB IoT 6 driver buffer size.
Definition nbiot6.h:136
uint8_t nbiot6_get_ring_pin(nbiot6_t *ctx)
NB IoT 6 get RING pin function.
err_t nbiot6_init(nbiot6_t *ctx, nbiot6_cfg_t *cfg)
NB IoT 6 initialization function.
void nbiot6_set_power_state(nbiot6_t *ctx, uint8_t state)
NB IoT 6 set power state function.
void nbiot6_set_pwr_pin(nbiot6_t *ctx, uint8_t state)
NB IoT 6 set PWR pin function.
err_t nbiot6_send_sms_pdu(nbiot6_t *ctx, uint8_t *service_center_number, uint8_t *phone_number, uint8_t *sms_text)
NB IoT 6 send SMS in PDU mode function.
void nbiot6_set_sim_apn(nbiot6_t *ctx, uint8_t *sim_apn)
NB IoT 6 set sim card APN function.
void nbiot6_cmd_help(nbiot6_t *ctx, uint8_t *cmd)
NB IoT 6 cmd help function.
void nbiot6_cmd_set(nbiot6_t *ctx, uint8_t *cmd, uint8_t *value)
NB IoT 6 cmd set function.
void nbiot6_set_wup_pin(nbiot6_t *ctx, uint8_t state)
NB IoT 6 set WUP pin function.
err_t nbiot6_generic_read(nbiot6_t *ctx, uint8_t *data_out, uint16_t len)
NB IoT 6 data reading function.
void nbiot6_send_sms_text(nbiot6_t *ctx, uint8_t *phone_number, uint8_t *sms_text)
NB IoT 6 send SMS in text mode function.
err_t nbiot6_generic_write(nbiot6_t *ctx, uint8_t *data_in, uint16_t len)
NB IoT 6 data writing function.
void nbiot6_set_rst_pin(nbiot6_t *ctx, uint8_t state)
NB IoT 6 set RST pin function.
void nbiot6_cfg_setup(nbiot6_cfg_t *cfg)
NB IoT 6 configuration object setup function.
void nbiot6_cmd_run(nbiot6_t *ctx, uint8_t *cmd)
NB IoT 6 cmd run function.
void nbiot6_cmd_get(nbiot6_t *ctx, uint8_t *cmd)
NB IoT 6 cmd get function.
nbiot6_return_value_t
NB IoT 6 Click return value data.
Definition nbiot6.h:220
@ NBIOT6_ERROR_CMD
Definition nbiot6.h:224
@ NBIOT6_ERROR
Definition nbiot6.h:222
@ NBIOT6_OK
Definition nbiot6.h:221
@ NBIOT6_ERROR_TIMEOUT
Definition nbiot6.h:223
NB IoT 6 Click configuration object.
Definition nbiot6.h:195
uint32_t baud_rate
Definition nbiot6.h:207
pin_name_t wup
Definition nbiot6.h:201
pin_name_t ring
Definition nbiot6.h:204
bool uart_blocking
Definition nbiot6.h:208
uart_data_bits_t data_bit
Definition nbiot6.h:209
pin_name_t tx_pin
Definition nbiot6.h:198
pin_name_t pwr
Definition nbiot6.h:203
pin_name_t rx_pin
Definition nbiot6.h:197
uart_stop_bits_t stop_bit
Definition nbiot6.h:211
uart_parity_t parity_bit
Definition nbiot6.h:210
pin_name_t rst
Definition nbiot6.h:202
NB IoT 6 Click context object.
Definition nbiot6.h:171
uint8_t uart_tx_buffer[NBIOT6_TX_DRV_BUFFER_SIZE]
Definition nbiot6.h:185
digital_out_t pwr
Definition nbiot6.h:175
uint8_t uart_rx_buffer[NBIOT6_RX_DRV_BUFFER_SIZE]
Definition nbiot6.h:184
uint8_t cmd_buffer[NBIOT6_TX_DRV_BUFFER_SIZE]
Definition nbiot6.h:186
uart_t uart
Definition nbiot6.h:181
digital_out_t wup
Definition nbiot6.h:173
digital_out_t rst
Definition nbiot6.h:174
digital_in_t ring
Definition nbiot6.h:178